package com.campus.schedule.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.campus.common.mybatis.entity.LongIdBaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 订单收益分账明细表
 * </p>
 *
 * @author ZhaoYuJie
 * @since 2025-07-04
 */
@Getter
@Setter
@TableName("order_profit_sharing_detail")
@ApiModel(value = "OrderProfitSharingDetail对象", description = "订单收益分账明细表")
public class OrderProfitSharingDetail extends LongIdBaseEntity<OrderProfitSharingDetail> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("订单收益分账表ID")
    @TableField("sharing_id")
    private Long sharingId;

    @ApiModelProperty("分账金额，单位为分")
    @TableField("amount")
    private Integer amount;

    @ApiModelProperty("分账描述")
    @TableField("description")
    private String description;

    @ApiModelProperty("接收方类型：MERCHANT_ID-商户号，PERSONAL_OPENID-个人OpenID")
    @TableField("type")
    private String type;

    @ApiModelProperty("接收方账号：1、类型是MERCHANT_ID时，是商户号；2、类型是PERSONAL_OPENID时，是个人openid")
    @TableField("account")
    private String account;

    @ApiModelProperty("分账结果：PENDING-待分账；SUCCESS-分账成功；CLOSED-已关闭")
    @TableField("result")
    private String result;

    @ApiModelProperty("分账失败原因")
    @TableField("fail_reason")
    private String failReason;

    @ApiModelProperty("微信分账明细单号")
    @TableField("detail_id")
    private String detailId;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @Override
    public Serializable pkVal() {
        return null;
    }
}
